package com.weimall.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class HyCardExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public HyCardExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCardIsNull() {
            addCriterion("CARD is null");
            return (Criteria) this;
        }

        public Criteria andCardIsNotNull() {
            addCriterion("CARD is not null");
            return (Criteria) this;
        }

        public Criteria andCardEqualTo(String value) {
            addCriterion("CARD =", value, "card");
            return (Criteria) this;
        }

        public Criteria andCardNotEqualTo(String value) {
            addCriterion("CARD <>", value, "card");
            return (Criteria) this;
        }

        public Criteria andCardGreaterThan(String value) {
            addCriterion("CARD >", value, "card");
            return (Criteria) this;
        }

        public Criteria andCardGreaterThanOrEqualTo(String value) {
            addCriterion("CARD >=", value, "card");
            return (Criteria) this;
        }

        public Criteria andCardLessThan(String value) {
            addCriterion("CARD <", value, "card");
            return (Criteria) this;
        }

        public Criteria andCardLessThanOrEqualTo(String value) {
            addCriterion("CARD <=", value, "card");
            return (Criteria) this;
        }

        public Criteria andCardLike(String value) {
            addCriterion("CARD like", value, "card");
            return (Criteria) this;
        }

        public Criteria andCardNotLike(String value) {
            addCriterion("CARD not like", value, "card");
            return (Criteria) this;
        }

        public Criteria andCardIn(List<String> values) {
            addCriterion("CARD in", values, "card");
            return (Criteria) this;
        }

        public Criteria andCardNotIn(List<String> values) {
            addCriterion("CARD not in", values, "card");
            return (Criteria) this;
        }

        public Criteria andCardBetween(String value1, String value2) {
            addCriterion("CARD between", value1, value2, "card");
            return (Criteria) this;
        }

        public Criteria andCardNotBetween(String value1, String value2) {
            addCriterion("CARD not between", value1, value2, "card");
            return (Criteria) this;
        }

        public Criteria andKhbmIsNull() {
            addCriterion("KHBM is null");
            return (Criteria) this;
        }

        public Criteria andKhbmIsNotNull() {
            addCriterion("KHBM is not null");
            return (Criteria) this;
        }

        public Criteria andKhbmEqualTo(String value) {
            addCriterion("KHBM =", value, "khbm");
            return (Criteria) this;
        }

        public Criteria andKhbmNotEqualTo(String value) {
            addCriterion("KHBM <>", value, "khbm");
            return (Criteria) this;
        }

        public Criteria andKhbmGreaterThan(String value) {
            addCriterion("KHBM >", value, "khbm");
            return (Criteria) this;
        }

        public Criteria andKhbmGreaterThanOrEqualTo(String value) {
            addCriterion("KHBM >=", value, "khbm");
            return (Criteria) this;
        }

        public Criteria andKhbmLessThan(String value) {
            addCriterion("KHBM <", value, "khbm");
            return (Criteria) this;
        }

        public Criteria andKhbmLessThanOrEqualTo(String value) {
            addCriterion("KHBM <=", value, "khbm");
            return (Criteria) this;
        }

        public Criteria andKhbmLike(String value) {
            addCriterion("KHBM like", value, "khbm");
            return (Criteria) this;
        }

        public Criteria andKhbmNotLike(String value) {
            addCriterion("KHBM not like", value, "khbm");
            return (Criteria) this;
        }

        public Criteria andKhbmIn(List<String> values) {
            addCriterion("KHBM in", values, "khbm");
            return (Criteria) this;
        }

        public Criteria andKhbmNotIn(List<String> values) {
            addCriterion("KHBM not in", values, "khbm");
            return (Criteria) this;
        }

        public Criteria andKhbmBetween(String value1, String value2) {
            addCriterion("KHBM between", value1, value2, "khbm");
            return (Criteria) this;
        }

        public Criteria andKhbmNotBetween(String value1, String value2) {
            addCriterion("KHBM not between", value1, value2, "khbm");
            return (Criteria) this;
        }

        public Criteria andKhmcIsNull() {
            addCriterion("KHMC is null");
            return (Criteria) this;
        }

        public Criteria andKhmcIsNotNull() {
            addCriterion("KHMC is not null");
            return (Criteria) this;
        }

        public Criteria andKhmcEqualTo(String value) {
            addCriterion("KHMC =", value, "khmc");
            return (Criteria) this;
        }

        public Criteria andKhmcNotEqualTo(String value) {
            addCriterion("KHMC <>", value, "khmc");
            return (Criteria) this;
        }

        public Criteria andKhmcGreaterThan(String value) {
            addCriterion("KHMC >", value, "khmc");
            return (Criteria) this;
        }

        public Criteria andKhmcGreaterThanOrEqualTo(String value) {
            addCriterion("KHMC >=", value, "khmc");
            return (Criteria) this;
        }

        public Criteria andKhmcLessThan(String value) {
            addCriterion("KHMC <", value, "khmc");
            return (Criteria) this;
        }

        public Criteria andKhmcLessThanOrEqualTo(String value) {
            addCriterion("KHMC <=", value, "khmc");
            return (Criteria) this;
        }

        public Criteria andKhmcLike(String value) {
            addCriterion("KHMC like", value, "khmc");
            return (Criteria) this;
        }

        public Criteria andKhmcNotLike(String value) {
            addCriterion("KHMC not like", value, "khmc");
            return (Criteria) this;
        }

        public Criteria andKhmcIn(List<String> values) {
            addCriterion("KHMC in", values, "khmc");
            return (Criteria) this;
        }

        public Criteria andKhmcNotIn(List<String> values) {
            addCriterion("KHMC not in", values, "khmc");
            return (Criteria) this;
        }

        public Criteria andKhmcBetween(String value1, String value2) {
            addCriterion("KHMC between", value1, value2, "khmc");
            return (Criteria) this;
        }

        public Criteria andKhmcNotBetween(String value1, String value2) {
            addCriterion("KHMC not between", value1, value2, "khmc");
            return (Criteria) this;
        }

        public Criteria andFkrqIsNull() {
            addCriterion("FKRQ is null");
            return (Criteria) this;
        }

        public Criteria andFkrqIsNotNull() {
            addCriterion("FKRQ is not null");
            return (Criteria) this;
        }

        public Criteria andFkrqEqualTo(Date value) {
            addCriterion("FKRQ =", value, "fkrq");
            return (Criteria) this;
        }

        public Criteria andFkrqNotEqualTo(Date value) {
            addCriterion("FKRQ <>", value, "fkrq");
            return (Criteria) this;
        }

        public Criteria andFkrqGreaterThan(Date value) {
            addCriterion("FKRQ >", value, "fkrq");
            return (Criteria) this;
        }

        public Criteria andFkrqGreaterThanOrEqualTo(Date value) {
            addCriterion("FKRQ >=", value, "fkrq");
            return (Criteria) this;
        }

        public Criteria andFkrqLessThan(Date value) {
            addCriterion("FKRQ <", value, "fkrq");
            return (Criteria) this;
        }

        public Criteria andFkrqLessThanOrEqualTo(Date value) {
            addCriterion("FKRQ <=", value, "fkrq");
            return (Criteria) this;
        }

        public Criteria andFkrqIn(List<Date> values) {
            addCriterion("FKRQ in", values, "fkrq");
            return (Criteria) this;
        }

        public Criteria andFkrqNotIn(List<Date> values) {
            addCriterion("FKRQ not in", values, "fkrq");
            return (Criteria) this;
        }

        public Criteria andFkrqBetween(Date value1, Date value2) {
            addCriterion("FKRQ between", value1, value2, "fkrq");
            return (Criteria) this;
        }

        public Criteria andFkrqNotBetween(Date value1, Date value2) {
            addCriterion("FKRQ not between", value1, value2, "fkrq");
            return (Criteria) this;
        }

        public Criteria andYxqzIsNull() {
            addCriterion("YXQZ is null");
            return (Criteria) this;
        }

        public Criteria andYxqzIsNotNull() {
            addCriterion("YXQZ is not null");
            return (Criteria) this;
        }

        public Criteria andYxqzEqualTo(Date value) {
            addCriterion("YXQZ =", value, "yxqz");
            return (Criteria) this;
        }

        public Criteria andYxqzNotEqualTo(Date value) {
            addCriterion("YXQZ <>", value, "yxqz");
            return (Criteria) this;
        }

        public Criteria andYxqzGreaterThan(Date value) {
            addCriterion("YXQZ >", value, "yxqz");
            return (Criteria) this;
        }

        public Criteria andYxqzGreaterThanOrEqualTo(Date value) {
            addCriterion("YXQZ >=", value, "yxqz");
            return (Criteria) this;
        }

        public Criteria andYxqzLessThan(Date value) {
            addCriterion("YXQZ <", value, "yxqz");
            return (Criteria) this;
        }

        public Criteria andYxqzLessThanOrEqualTo(Date value) {
            addCriterion("YXQZ <=", value, "yxqz");
            return (Criteria) this;
        }

        public Criteria andYxqzIn(List<Date> values) {
            addCriterion("YXQZ in", values, "yxqz");
            return (Criteria) this;
        }

        public Criteria andYxqzNotIn(List<Date> values) {
            addCriterion("YXQZ not in", values, "yxqz");
            return (Criteria) this;
        }

        public Criteria andYxqzBetween(Date value1, Date value2) {
            addCriterion("YXQZ between", value1, value2, "yxqz");
            return (Criteria) this;
        }

        public Criteria andYxqzNotBetween(Date value1, Date value2) {
            addCriterion("YXQZ not between", value1, value2, "yxqz");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("STATE is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("STATE is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(String value) {
            addCriterion("STATE =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(String value) {
            addCriterion("STATE <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(String value) {
            addCriterion("STATE >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(String value) {
            addCriterion("STATE >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(String value) {
            addCriterion("STATE <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(String value) {
            addCriterion("STATE <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLike(String value) {
            addCriterion("STATE like", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotLike(String value) {
            addCriterion("STATE not like", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<String> values) {
            addCriterion("STATE in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<String> values) {
            addCriterion("STATE not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(String value1, String value2) {
            addCriterion("STATE between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(String value1, String value2) {
            addCriterion("STATE not between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andMmIsNull() {
            addCriterion("MM is null");
            return (Criteria) this;
        }

        public Criteria andMmIsNotNull() {
            addCriterion("MM is not null");
            return (Criteria) this;
        }

        public Criteria andMmEqualTo(String value) {
            addCriterion("MM =", value, "mm");
            return (Criteria) this;
        }

        public Criteria andMmNotEqualTo(String value) {
            addCriterion("MM <>", value, "mm");
            return (Criteria) this;
        }

        public Criteria andMmGreaterThan(String value) {
            addCriterion("MM >", value, "mm");
            return (Criteria) this;
        }

        public Criteria andMmGreaterThanOrEqualTo(String value) {
            addCriterion("MM >=", value, "mm");
            return (Criteria) this;
        }

        public Criteria andMmLessThan(String value) {
            addCriterion("MM <", value, "mm");
            return (Criteria) this;
        }

        public Criteria andMmLessThanOrEqualTo(String value) {
            addCriterion("MM <=", value, "mm");
            return (Criteria) this;
        }

        public Criteria andMmLike(String value) {
            addCriterion("MM like", value, "mm");
            return (Criteria) this;
        }

        public Criteria andMmNotLike(String value) {
            addCriterion("MM not like", value, "mm");
            return (Criteria) this;
        }

        public Criteria andMmIn(List<String> values) {
            addCriterion("MM in", values, "mm");
            return (Criteria) this;
        }

        public Criteria andMmNotIn(List<String> values) {
            addCriterion("MM not in", values, "mm");
            return (Criteria) this;
        }

        public Criteria andMmBetween(String value1, String value2) {
            addCriterion("MM between", value1, value2, "mm");
            return (Criteria) this;
        }

        public Criteria andMmNotBetween(String value1, String value2) {
            addCriterion("MM not between", value1, value2, "mm");
            return (Criteria) this;
        }

        public Criteria andBzIsNull() {
            addCriterion("BZ is null");
            return (Criteria) this;
        }

        public Criteria andBzIsNotNull() {
            addCriterion("BZ is not null");
            return (Criteria) this;
        }

        public Criteria andBzEqualTo(String value) {
            addCriterion("BZ =", value, "bz");
            return (Criteria) this;
        }

        public Criteria andBzNotEqualTo(String value) {
            addCriterion("BZ <>", value, "bz");
            return (Criteria) this;
        }

        public Criteria andBzGreaterThan(String value) {
            addCriterion("BZ >", value, "bz");
            return (Criteria) this;
        }

        public Criteria andBzGreaterThanOrEqualTo(String value) {
            addCriterion("BZ >=", value, "bz");
            return (Criteria) this;
        }

        public Criteria andBzLessThan(String value) {
            addCriterion("BZ <", value, "bz");
            return (Criteria) this;
        }

        public Criteria andBzLessThanOrEqualTo(String value) {
            addCriterion("BZ <=", value, "bz");
            return (Criteria) this;
        }

        public Criteria andBzLike(String value) {
            addCriterion("BZ like", value, "bz");
            return (Criteria) this;
        }

        public Criteria andBzNotLike(String value) {
            addCriterion("BZ not like", value, "bz");
            return (Criteria) this;
        }

        public Criteria andBzIn(List<String> values) {
            addCriterion("BZ in", values, "bz");
            return (Criteria) this;
        }

        public Criteria andBzNotIn(List<String> values) {
            addCriterion("BZ not in", values, "bz");
            return (Criteria) this;
        }

        public Criteria andBzBetween(String value1, String value2) {
            addCriterion("BZ between", value1, value2, "bz");
            return (Criteria) this;
        }

        public Criteria andBzNotBetween(String value1, String value2) {
            addCriterion("BZ not between", value1, value2, "bz");
            return (Criteria) this;
        }

        public Criteria andCzyIsNull() {
            addCriterion("CZY is null");
            return (Criteria) this;
        }

        public Criteria andCzyIsNotNull() {
            addCriterion("CZY is not null");
            return (Criteria) this;
        }

        public Criteria andCzyEqualTo(String value) {
            addCriterion("CZY =", value, "czy");
            return (Criteria) this;
        }

        public Criteria andCzyNotEqualTo(String value) {
            addCriterion("CZY <>", value, "czy");
            return (Criteria) this;
        }

        public Criteria andCzyGreaterThan(String value) {
            addCriterion("CZY >", value, "czy");
            return (Criteria) this;
        }

        public Criteria andCzyGreaterThanOrEqualTo(String value) {
            addCriterion("CZY >=", value, "czy");
            return (Criteria) this;
        }

        public Criteria andCzyLessThan(String value) {
            addCriterion("CZY <", value, "czy");
            return (Criteria) this;
        }

        public Criteria andCzyLessThanOrEqualTo(String value) {
            addCriterion("CZY <=", value, "czy");
            return (Criteria) this;
        }

        public Criteria andCzyLike(String value) {
            addCriterion("CZY like", value, "czy");
            return (Criteria) this;
        }

        public Criteria andCzyNotLike(String value) {
            addCriterion("CZY not like", value, "czy");
            return (Criteria) this;
        }

        public Criteria andCzyIn(List<String> values) {
            addCriterion("CZY in", values, "czy");
            return (Criteria) this;
        }

        public Criteria andCzyNotIn(List<String> values) {
            addCriterion("CZY not in", values, "czy");
            return (Criteria) this;
        }

        public Criteria andCzyBetween(String value1, String value2) {
            addCriterion("CZY between", value1, value2, "czy");
            return (Criteria) this;
        }

        public Criteria andCzyNotBetween(String value1, String value2) {
            addCriterion("CZY not between", value1, value2, "czy");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}